package com.jhsw.roadsun.module.business.controller.admin.expressage.vo;

import com.jhsw.roadsun.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.jhsw.roadsun.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 寄件信息分页 Request VO")
@Data
public class ExpressagePageReqVO extends PageParam {

    @Schema(description = "运单号")
    private String orderNo;

    @Schema(description = "审核状态（0未处理 1已出单 2已取消）（字典：business_expressage_audit_status）", example = "2")
    private Integer auditStatus;

    @Schema(description = "审核时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] auditDatetime;

    @Schema(description = "用户昵称", example = "2")
    private String nickname;

    @Schema(description = "用户手机号", example = "2")
    private String mobile;

    @Schema(description = "收件国家")
    private String country;

    @Schema(description = "运输方式", example = "2")
    private String shippingType;

    @Schema(description = "是否报关")
    private Boolean customsFiling;

    @Schema(description = "寄件人公司名称")
    private String sendCompany;

    @Schema(description = "收件人公司名称")
    private String recipientsCompany;

    @Schema(description = "付款方式（0寄付 1到付 2第三方结款）（字典：business_expressage_pay_method）")
    private Integer payMethod;

    @Schema(description = "客户账号", example = "6085")
    private String customerAccount;

    @Schema(description = "快递单号")
    private String expressageOrder;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}